<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS函数</title>
</head>
<body>
<script>
    //JS通过function关键字来定义函数
    function f1(){
        console.log('f1')
    }

    //2.函数的参数
    function f2(n){
        console.log('今天星期六'+n);
    }
    f2(false);
    f2('中午吃什么');
    f2(666);

    function f3(x,y){
        console.log(x+y);
    }
    f3(1,2);
    f3(3);//3+undefined=NaN 违背赋值的形参值为undefined
    f3(3,4,5);//13 多的实参会被忽略掉

    //4.arguments用来保存调用函数是传入的实参，可以看到实参的个数与值
    function f4(){
        console.log(arguments)
    }
    f4(1,2,3,4,5,6,7,8,9,10);

    //5.函数的返回值
    function f5(x,y){
        return x+y;
    }
    console.log(f5(1,3))//直接打印return的结果
    var result = f5(1,3);
    console.log(result);//将return的结果保存在result中，在打印出来

    //第二章声明方式:将整个函数整体交给f6保存，调用时使用变量名调用即可
    var f6 = function (){
        console.log('第二种');
    }
    console.log(f6);//f (){console.log(第二种)}
    console.log(typeof f6);//function
    f6();

    //第三种：箭头函数 const相当于常量不可以修改，可以保护函数不被修改，第二种会可能被修改
    const f7 = (n)=>{
        console.log('第三种'+n);
    }
    f7(123);
</script>
</body>
</html>